1. Field of the Invention
This invention relates to translator apparatus and, more particularly, to such a translator apparatus for two communication networks.
2. Background Information
In power management control and data acquisition systems, a variety of power monitoring or control devices are connected to a common bus, which allows such devices to communicate with a server. One standard protocol employed for communicating between the server and the power control and monitoring devices is the Modbus RTU standard. A wide range of commercially available Modbus RTU Servers may be employed for a variety of applications. For example, all major electrical distribution companies have a similar product. Typically, the servers may support any generic Modbus RTU compliant device.
For example, as shown in FIG. 1, a programmable logic controller (PLC) Modbus RTU master 2 communicates with up to about 32 or 64 Modbus slaves 4,6,8 (e.g., overload relays, meters, circuit breakers) over an RS-485 based communication channel 10.
U.S. Pat. No. 5,862,391 discloses a Modbus concentrator, which is generally a multiple channel data converter/multiplexer. The concentrator translates data between two protocols for multiple metering and protective devices (i.e., between General Electric's Commnet peer-to-peer network protocol and the industry standard Modbus RTU protocol). The concentrator acts as a pseudo host for Commnet devices and as a pseudo slave for each device in the Modbus RTU network. The concentrator creates virtual Modbus devices for every physical Commnet device attached to its multiple channels. Multiple channels allow parallel processing for data conversion, improving the throughput of the network in which it is utilized. Further, the concentrator auto-configures itself by seeking all the devices attached in the Commnet channels and storing this information in a configuration database, which is used to determine address conflicts among the attached Commnet devices.
Existing Modbus slaves have identical variables (e.g., phase A current, IA; phase A-B line-to-line voltage, VAB) or constant parameters in various Modbus registers. Such variables or constant parameters are not only inconsistent from one manufacturer of Modbus slaves to other manufacturers of Modbus slaves, but are also inconsistent from one Modbus slave to another Modbus slave of the same manufacturer. Hence, for various Modbus slaves, there is a separate Modbus register map listing the Modbus registers where the specific variables or constant parameters exist. For example, the phase A current, IA, may be at one register (e.g., 12A4H) for a first product and may be at a second different register (e.g., 1145H) for a second product. Accordingly, programming a Modbus master is both time consuming and potentially error prone, since for various Modbus slave devices, the same variable or constant parameter may exist in a different register location with respect to the other various Modbus slaves. Hence, there exists the possibility that each query for an identical variable or constant parameter will be different.
The INCOM (INdustrial COMmunications) Network provides two-way communication between an INCOM network master and a variety of products such as, for example, electrical interrupting devices, circuit breakers, digital meters, motor overload relays, monitoring units and a wide range of industrial products. Control and monitoring is carried out over a network consisting of dedicated twisted pair wires. Preferably, a semi-custom integrated circuit provides a simple, low cost interface to the network. For example, a Sure Chip Plus™ microcontroller enables the electrical interrupting device to communicate with the INCOM network. This integrated circuit provides various network functions such as, for example, carrier generation and detection, data modulation/demodulation, address decoding, and generation and checking of a 5-bit cyclic redundant BCH error code.
An INCOM communication module, which may be otherwise known as a PONI “Product Operated Network Interface,” may act as an interface device between a remote personal computer PC and the electrical meter, protector or control communicating device that does not have a built-in INCOM transceiver.
The INCOM network employs a simple two-wire asynchronous communication line, which is daisy chained to the several devices. A master device digitally addresses each of the slave devices in a master/slave relationship for the purpose of gathering the data generated by the individual units for central processing. An INCOM network can have one master and up to 1000 slaves. The INCOM communications protocol is based on 33-bit message packets. A typical INCOM network transaction consists of one or more 33-bit message packets transmitted by the master, and one or more 33-bit message packets transmitted by a slave in response.
Examples of the INCOM network and protocol are disclosed in U.S. Pat. Nos. 4,644,547; 4,644,566; 4,653,073; 5,315,531; 5,548,523; 5,627,716; 5,815,364; and 6,055,145, which are incorporated by reference herein.
The assignee of the present invention has undertaken the design of new products (i.e., Plug-'n-Play (or PnP) products), which respond to the INCOM protocol, in order to return the same objects (e.g., phase A current, phase B voltage) using the same set of corresponding INCOM commands. This provides a consistent set of commands to obtain identical objects from INCOM devices. Nevertheless, there exists various legacy products, which have an inconsistent command structure and which return the same objects using a different set of corresponding INCOM commands. For example, one legacy product returns phase A current with one INCOM command, while a second legacy product returns the same current with a different INCOM command.
Any suitable computer or programmable device (e.g., with an RS-232C communications port; PC XT/AT bus) may function as an INCOM network master. An RS-232C based INCOM network master employs a gateway device such as the MINT (Master INCOM Network Translator). The gateway device converts the 10 byte ASCII encoded hexadecimal RS-232C messages to or from 33-bit binary messages used on the INCOM local area network.
An IBM XT or AT compatible personal computer alternatively employs the CONI (Computer Operated Network Interface) for interfacing to the INCOM network. The CONI employs a direct PC-bus interface, which provides a more efficient network interface than that of the MINT.
There are two basic types of INCOM messages: control messages and data messages. The messages are 33 bits in length and are sent with the Least Significant Bit (LSB) first. The INCOM chip generates a number of the bits including the Start bits, Stop bit and BCH error detection code. The format for an INCOM-control message is shown in Table 1.
TABLE 1Bit Number(s)MnemonicDefinition1-0STRStart Bits = 11 2C/DControl Bit = 1 for Control Messages6-3INSTInstruction Field10-7 COMMCommand Field22-11ADDRESSAddress of Product (Slave Device)26-23SCOMMSubCommand Field31-27BCHBCH error detection field32STPStop Bit = 0
The format for an INCOM-Data message is shown in Table 2.
TABLE 2Bit Number(s)MnemonicDefinition1-0STRStart Bits = 11 2C/DControl Bit = 0 for Data Messages10-3 BYTE08-bit data field (Bit 3 = b0)18-11BYTE18-bit data field (Bit 11 = b0)26-19BYTE28-bit data field (Bit 18 = b0)31-27BCHBCH error detection field32STPStop Bit = 0
There are two types of INCOM slave devices (products): a stand-alone slave, and an expanded mode slave. The stand-alone slave is a device on an INCOM network that can control one digital output and monitor up to two status (digital) inputs. An example of a stand-alone slave device is an addressable relay marketed by Eaton/Cutler-Hammer of Pittsburgh, Pa. A stand-alone slave device uses INCOM control messages exclusively for communications.
The expanded mode slave is a device on an INCOM network that can send and/or receive data values over the INCOM network including, for example, analog and digital I/O data, configuration or setpoint information, and trip data. Examples of such devices include IQ Data Plus II Line Metering Systems, Digitrip RMS 700 and 800 Trip Units, and IQ 1000 and IQ 500 Motor Protection Systems, all marketed by Eaton/Cutler-Hammer. An expanded mode slave device uses INCOM control messages and INCOM data messages for communications.
There are seven examples in which an expanded mode slave product, in response to a command from the master, may send a return-command message to the master. These include: (1) Acknowledge (ACK) Reply; (2) Negative Acknowledge (NACK) Reply; (3) Product Buffer Not Yet Available; (4) Sub-network Product Not Responding; (5) Checksum Error; (6) Downloaded Value Out of Range; and (7) Product Not in a State That Allows the Requested Action.
Some INCOM commands require the product to transmit an acknowledge (ACK) message. The positive acknowledge indicates that the product accepted the present command or the data transmission was completed successfully. The format of the ACK message, ignoring the Start bits, Stop bit and BCH error detection code, includes: (1) C/D=1; (2) INST=3; (3) COMM=1; (4) ADDRESS=address of slave (some products may employ address 000H or FFFH; other products can assume any address in the 12 bit address space); and (5) SCOMM=0. The product will transmit a negative acknowledge (NACK), rather than an ACK, in response to certain conditions. The negative acknowledge indicates that the product has not accepted the COMM and SCOMM command request. The format of the NACK message, ignoring the Start bits, Stop bit and BCH error detection code, includes: (1) C/D=1; (2) INST=3; (3) COMM=1; (4) ADDRESS=address of slave (some products may employ address 000H or FFFH; other products can assume any address in the 12 bit address space); and (5) SCOMM=1.
For example, some conditions for which a product will respond with a NACK include: (1) the product received an INCOM control message that it does not recognize (e.g., an INCOM control message with INST=3, and COMM and SCOMM values that it does not support); and (2) the PONI received an INCOM control message that it cannot process due to a communications failure between the PONI and the product. Products only respond to INCOM messages containing a good BCH value.
Examples of standard master-to-slave commands for the Integrated Monitoring, Protection, And Control Communication (IMPACC) protocol are shown below, in Table 3. All of these commands employ C/D=1 and, thus, only the INST, COMM, and SCOMM specifications are provided. The words transmit and receive in the command definitions are with respect to the product. If the message is a transmit command, then the result will be the transmission of data from the product to the master. On the other hand, a receive command that is transmitted from the master to the product will be followed by data transmissions from the master, which are to be received by the product. Table 3 shows six classes of standard master-to-expanded mode slave commands.
TABLE 3CommandINSTCOMMSCOMMStandard slave-buffer transmissions300-FStandard system management buffer3A3-7transmissionsProduct specific slave-buffer transmissions3C8-FStandard slave actions3D0, 1, 3Standard master-buffer transmissions3D8-FProduct specific master-buffer transmissions3F8-FBroadcast CommandD0-F0-F
A few examples of these communications data buffers are discussed, below. A standard data buffer includes a specification for the formatting of analog data in engineering units. For example, the IMPACC 24-Bit Floating Point Number Format permits the IMPACC family to include a number of products that send similar analog parameters (e.g., currents, voltages). Each parameter is sent as a single data transmission with the three bytes defined as follows: (1) BYTE0 is the low-order byte of 16-bit magnitude; (2) BYTE1 is the high-order byte of 16-bit magnitude; and (3) BYTE2 is the scale byte, wherein the BYTE2 bit definitions (b7-b0) are as follows: (a) for bit b7: 0 indicates that the value in BYTE0 and BYTE1 is a 16-bit unsigned integer, and 1 indicates that the value in BYTE0 and BYTE1 is a 16-bit signed integer; (b) for bit b6: 0 indicates that the data is invalid, and 1 indicates that the data is valid; (c) for bit b5: 0 indicates a multiplier as a power of 2, and 1 indicates a multiplier as a power of 10, and (d) the bits b4-b0 represent the multiplier's exponent in 5-bit signed integer form. This allows a magnitude of multiplier to range from 2−16 to 2+15 (for b5=0), or 10−16 to 10+15 (for b5=1).
Table 4 shows the Standard Expanded Mode Slave-Buffer Transmissions (for COMM=0 and SCOMM=0-F).
TABLE 4INSTCOMMSCOMMCommand Definition300Transmit Fast-Status.303Transmit All Standard Buffers305Transmit Current Buffer306Transmit Line-to-Line Voltage Buffer307Transmit Line-to-Neutral Voltage Buffer308Transmit Power Buffer(1)309Transmit Power Buffer(2)30ATransmit Energy Buffer30BTransmit Saved Energy Buffer30CTransmit Saved Reactive Energy Buffer30FReceive Expanded Transmit BufferNumber
Table 5 shows the Buffer Numbers for the Receive Expanded Transmit Buffer Number command (for COMM=0 and SCOMM=F).
TABLE 5BufferNo.Buffer DescriptionN = 1Transmit Temperature BufferN = 2Transmit Demand Currents BufferN = 3Transmit Current BufferN = 4Transmit Line-Line Voltage BufferN = 5Transmit Line-Neutral Voltage BufferN = 6Transmit Power BufferN = 7Transmit Per-Phase Power BufferN = 8Transmit System Energy BufferN = 9Transmit THD BufferN = 10Transmit Demand Current Buffer (w/ time stamp)N = 11Transmit Per-Phase Demand Current Buffer (w/ time stamp)N = 12Transmit Demand Power Buffer (w/ time stamp)N = 13Transmit Min/Max Current Buffer (w/ time stamp)N = 14Transmit Min/Max L-L Voltage Buffer (w/ time stamp)N = 15Transmit Min/Max L-N Voltage Buffer (w/ time stamp)N = 16Transmit Min/Max PF-Displacement Buffer (w/ time stamp)N = 17Transmit Min/Max PF-Apparent Buffer (w/ time stamp)N = 18Transmit Min/Max Power/Frequency Buffer (w/ time stamp)N = 19Transmit Min/Max Current % THD Buffer (w/ time stamp)N = 20Transmit Min/Max Voltage % THD Buffer (w/ time stamp)N = 21Transmit Crest Factor BufferN = 22Transmit Min/Max per-phase real power (w/ time stamp)N = 23Transmit Min/Max per-phase reactive power (w/ time stamp)N = 24Transmit Min/Max per-phase VA (w/ time stamp)N = 25Transmit Min/Max Currents Buffer (w/o time stamp)N = 26Transmit Demand Currents Buffer (w/o time stamp)N = 27Transmit Demand Power Buffer (w/o time stamp)N = 28Transmit Min/Max Voltage Buffer (w/o time stamp)N = 29Transmit Min/Max Power/Frequency/PF Buffer (w/o time stp.)N = 30Transmit Min/Max Current % THD Buffer (w/o time stamp)N = 31Transmit Min/Max Voltage % THD Buffer (w/o time stamp)N = 32Transmit Min/Max Current THD Magnitude Buf. (w/ time stp.)N = 33Transmit Min/Max Voltage THD Magnitude Buf. (w/ time stp.)N = 34Transmit Whole Load Center Energy Buffer
The Transmit All Standard Buffers command definition (3 0 3 of Table 4) covers the standard buffers as defined by INST=3, COMM=0, and SCOMM=5 through A.
The Transmit Current Buffer (3 0 5 of Table 4) response consists of four data messages, each containing an IMPACC 24-bit Floating Point Number, with the current units being expressed in amperes. The four messages respectively include: (1) phase current IA; (2) phase current IB; (3) phase current IC; and (4) current IX, which is usually ground current, although for some products there is no ground current and the current IX may be either a fourth pole current or a neutral current.
The Transmit Line-to-Line Voltage Buffer (3 0 6 of Table 4) response consists of three data messages, each containing an IMPACC 24-bit Floating Point number, with the voltage units being expressed in volts. The three messages respectively include: (1) line-to-line voltage VAB; (2) line-to-line voltage VBC; and (3) line-to-line voltage VCA.
The Transmit Line-to-Neutral Voltage Buffer (3 0 7 of Table 4) response consists of three data messages, each containing an IMPACC 24-bit Floating Point number, with voltage units being expressed in volts. The three messages respectively include: (1) line-to-neutral voltage VAN; (2) line-to-neutral voltage VBN; and (3) line-to-neutral voltage VCN.
The Transmit Expanded Buffer (3 0 F of Table 4) command allows for the use of additional standard responses beyond those covered by INST=3, COMM=0, and SCOMM=3 to E. The Expanded Buffer command consists of the following communications sequence. First, the Master sends the Slave a Transmit Expanded Buffer Number command. Second, the Slave responds with an ACK. Next, the Master sends the Slave a single data message containing the expanded buffer number. Finally, the Slave sends the requested buffer as a series of data messages. The first byte, BYTE0, of the first data message specifies the total number data messages (e.g., up to about 43) to be sent. The expanded buffer number, N, is sent as a 24 bit binary number.
For example, for the Currents Buffer (N=3), there are seven data messages including: (1) Number of additional messages (BYTE0=6); (2) Phase A current; (3) Phase B current; (4) Phase C current; (5) Ground current; (6) Neutral current; and (7) Average phase current.
There is room for improvement in translator apparatus for communication networks.